package com.yugong.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.github.pagehelper.PageInfo;
import com.yugong.entity.dto.Teacher;
import com.yugong.entity.vo.request.TeacherRequestVO;
import com.yugong.entity.vo.response.TeacherListResponseVO;

import java.util.List;

/**
 * 教师业务逻辑接口
 *
 * @author yugong
 * @date 2024/2/18
 */
public interface TeacherService extends IService<Teacher> {
    /**
     * 根据订单班管理员工号查询教师
     *
     * @param orderClassAdminNo 订单班管理员工号
     * @return 教师
     */
    List<TeacherListResponseVO> findTeacherByOrderClassAdminNo(String orderClassAdminNo);

    /**
     * 根据教师名查询教师信息
     *
     * @param pageNum     当前页
     * @param pageSize    当前页的数据总数
     * @param teacherName 教师名
     * @return 教师信息
     */
    PageInfo<TeacherListResponseVO> findTeacher(Integer pageNum, Integer pageSize, String teacherName);

    /**
     * 删除教师
     *
     * @param teacherNo 工号
     * @return 数据库影响行数
     */
    int deleteTeacher(String teacherNo);

    /**
     * 查询教师个人信息
     *
     * @param teacherNo 工号
     * @return 教师个人信息
     */
    TeacherListResponseVO TeacherInfo(String teacherNo);

    /**
     * 修改信息
     *
     * @param teacherRequestVO 教师请求实体类
     * @return 数据库影响行数
     */
    int updateInfo(TeacherRequestVO teacherRequestVO);

    /**
     * 修改教师
     *
     * @param teacherRequestVO 教师请求实体类
     * @return 数据库影响行数
     */
    int updateTeacher(TeacherRequestVO teacherRequestVO);
}
